//package ipc;
//
//import java.io.File;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.Set;
//import java.util.TreeMap;
//import java.util.Map.Entry;
//
//import rddl.ActionGenerator;
//import rddl.EvalException;
//import rddl.RDDL;
//import rddl.State;
//import rddl.RDDL.LCONST;
//import rddl.RDDL.PVAR_INST_DEF;
//import rddl.RDDL.PVAR_NAME;
//import rddl.parser.parser;
//import rddl.policy.Policy;
//
//public class PlayDotFile extends Policy{
//	
//	private myDD _valueDD;
//	private IPCSimulator _sim;
//
//	public PlayDotFile(String dotfile, RDDL dominst, String instancename) throws Exception{
//		_valueDD = new dot2dd(dotfile).getDD();
//		_sim = new IPCSimulator(dominst, instancename, System.currentTimeMillis());
//	}
//	
//	@Override
//	public ArrayList<PVAR_INST_DEF> getActions(State s) throws EvalException {
//		TreeMap<String, ArrayList<PVAR_INST_DEF>> acts = ActionGenerator.getLegalBoolActionMap(s);
//		
//		System.out.println(acts);
//		
//		double maxval = Double.NEGATIVE_INFINITY;
//		String maxact = null;
//
//		for( Entry<String, ArrayList<PVAR_INST_DEF>> act:  acts.entrySet()) {
//			
//			_sim.setState(s);
//			
//			if( maxact == null ){
//				
//			}
//		}
//		
//		HashMap<String, Boolean > walker = new HashMap<String, Boolean>();
//		
//		for( PVAR_NAME pname : s._alStateNames ){
//			System.out.println(pname);
//			
//			
//			ArrayList<ArrayList<LCONST>> possibleterms = s.generateAtoms(pname);
//			
//			for( ArrayList<LCONST> terms : possibleterms ){
//				
//				String name = rddl.translate.RDDL2Format.CleanFluentName(pname.toString() + terms );
//				Boolean val = (Boolean)(s.getPVariableAssign(pname, terms));
//				
//				walker.put( name, val);
//			}
//			
//		}
//		
//		System.out.println(walker);
//		
//		_valueDD.walk(walker);
//	}
//}
